package com.shujia.wyh.day13.studenttest2;

public class ProductThread extends Thread{
    private Student student;
    public int i = 0;

    public ProductThread(Student student) {
        this.student = student;
    }

    @Override
    public void run() {
//        Student student = new Student();
        while (true){
            synchronized (student){
                //先看一看数据有没有被消费，如果还没有被消费，就等消费者消费
                if(student.flag){
                    //如果flag的值是true,说明数据还没有进行消费，等待
                    //锁对象调用等待方法
                    try {
                        student.wait();  //阻塞。。
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

                if(i%2==0){
                    student.name = "吴涛";
                    student.age = 18;
                }else {
                    student.name = "苏康";
                    student.age = 16;
                }
                i++;

                student.flag = true; //赋值后，说明学生对象已经有值啦，将flag变成true
                //通知消费者进行消费
                //锁对象调用void notify()
                //唤醒正在等待对象监视器的单个线程。
                student.notify();
            }
        }

    }
}
